草庐IT

Java for 循环性能

全部标签

python - 测量pyc和py文件之间的性能差异

首先,我知道py和pyc文件的区别。我也明白这两个文件的运行时间是一样的。但我在这里有一个疑问。pyc删除与python执行相关的加载时间。我有什么办法可以感知到这一点?当我运行一个普通的py文件时,加载需要x秒,运行需要y秒。pyc文件也需要y秒才能运行。有没有一种方法可以测量两者之间的x秒差异? 最佳答案 Python.py文件被编译成.pyc文件。.pyc文件是python解释器可以理解和执行的文件。因此,您必须清楚编译和加载是不同的。编译就是将.py文本格式的源文件转换为.pyc二进制格式的字节码。加载是指将.pyc文件中存

windows - SSL_CTX_new 进入循环并挂起应用程序

我正在开发一个客户端应用程序,该应用程序使用openssl1.0.2f使用C++将数据流式传输到服务器,在连接开始后不久,对SSL_CTX_new的调用有60%的时间挂起。有时调用会在一段时间后返回(大约30秒到1分钟后从挂起状态恢复),但大多数情况下不会。这是我的代码:SSL_library_init();SSLeay_add_ssl_algorithms();SSL_load_error_strings();BIO_new_fp(stderr,BIO_NOCLOSE);constSSL_METHOD*m_ssl_client_method=TLSv1_2_client_method

windows - Windbg 故障转储中的性能计数器

是否可以在windbg中的nativec++应用程序转储中查看线程性能计数器。 最佳答案 不,不可能看到计数器的值,因为它们不存储在C++应用程序地址空间中。您可能从转储中提取的只是线程ID、用户时间、内核时间和运行时间(请参阅!runaway命令)。 关于windows-Windbg故障转储中的性能计数器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2333719/

c# - MSMQ 中的多个队列(性能下降)

当我使用10个队列而不是1个队列时,为什么MSMQ的性能下降(~三分之一)?简而言之,当我在多线程应用程序中使用超过1个队列(从不同线程中的每个队列接收)时,MSMQ性能会大幅下降。这就像.NET中的MSMQ类有一个共享资源,随着队列数量的增加而缩小。顺便说一句,我在VisualStudio2010中使用Windows7进行这些测试。注意:我有1个队列用于在2个应用程序之间进行通信。我只需要使用可恢复模式。它工作正常,直到遇到100-150条消息/秒的限制。然后我想我可以通过将队列数量增加到10并并行处理它们来提高处理能力。但是当我收到时,时间增加了近3倍!:O我使用C#编写了我的应用

windows - Windows 线程何时需要消息循环,为什么?

我什么时候需要在Windows应用程序中使用消息循环?例如,对于Windows服务,我是否需要为我创建的每个线程或仅为主服务进程创建一个消息循环?while(true){GetMessage(&messageHandle,0,0,0);DispatchMessage(&messageHandle);} 最佳答案 每个nativeWindows程序都至少包含一个消息循环(通常称为“消息泵”),就像您举的例子一样。这是为了能够处理由程序本身、其他应用程序或操作系统发起的Windows事件。Windows事件的示例可以用于计时器、套接字通

arrays - 如何使用批处理在数组(for 循环)中一次处理两个元素?

我正在尝试为传递到我的脚本中的参数创建某种处理程序。这个想法是一起处理“成对”的参数。所以,也就是说1和2、3和4、5和6,等等……(不是2和3、4和5、6和7,等等…….)我认为批处理非常酷,但我对批处理还很陌生。我不知道该怎么做。到目前为止,我已经成功地使用以下脚本将参数放入数组中:SETLOCALEnableDelayedExpansionset/acount+=1set"params[%count%]=%~1"shiftifdefinedparams[%count%](goto:repeat)else(set/acount-=1)现在我只需要成对处理每个元素。我根本不知道该怎么

c# - 为 .NET 应用启用高性能 GPU

用户提示我的应用程序(使用Direct3D11渲染一些重型3D内容以获得类似CAD的功能)在双GPU系统上的IntelGPU上运行。发现NvOptimusEnablement/AmdPowerXpressRequestHighPerformance导出了变量。但是,该应用程序有.NET前端,无法从那里导出内容。同时there’ssomeworkaround,重新编译步骤会破坏调试器(不能再设置断点)并使调试符号无效,我需要它们都可靠地工作。还有其他想法吗?是否可以在安装时创建nVidia应用程序配置文件?或者,如何使用NVApi来选择高性能GPU? 最佳答案

windows - 无法从例程内的无限循环返回

当运行以下批处理文件时,我希望程序从func例程返回并显示“结束程序”消息。相反,在for循环中执行暂停命令后按下某个键时程序似乎挂起。将exit/b替换为goto:eof似乎具有相同的效果。@echooffechostartprogramcall:funcechoendprogrampauseexit/b:funcechostartfuncfor/l%%lin()do(echostartlooppauseexit/bechoendloop)echoendfuncexit/b预期输出:startprogramstartfuncstartloopPressanykeytocontinue

.net - "Largest free region"的性能计数器?

我正在调试内存不足的异常。当我得到异常时,“虚拟字节”性能计数器指示有足够的​​可寻址空间。然而,问题在于可寻址空间碎片化严重,并且“最大空闲区域”(从WinDbg中的!address返回)太小。为了测量内存碎片,我想在perfmon中监控“最大空闲区域”。是否有一个性能计数器可以给我这个值? 最佳答案 我不相信这条信息有一个单独的性能计数器,但可以使用VirtualQueryExWin32函数推导出来。您可以在最小有效虚拟地址(可以从GetSystemInfo获得)上调用它,然后您可以使用返回的页面范围的大小来确定下一个页面范围的

.net - DataGridView 性能 - 是否取决于视频卡?

我有一个C#/.Net应用程序,它似乎使用大部分CPU时间来更新DataGridView。我大约每1.5秒手动更新一次数据,只更新已更改的数据。这最终是每1.5秒大约250次更新。我想将这1.5秒减少到更小的数字(可能是0.5秒)。我已经尽可能多地分析和优化,虽然性能还可以,但我希望它更快。我的问题是,将视频卡从NvidiaFX1800升级到NvidiaFX3800会产生显着的加速吗? 最佳答案 GDI+操作不太依赖于图形CPU,因为它仅使用每个图形卡都支持的基本加速操作(线条、矩形等)。我猜这里的问题是您在更新期间没有“隐藏”控制